3D digitization of human bodies, human body parts, mechanical object and thus bodies in general is widely adopted and applied nowadays. During this digitization process, the body is scanned by a scanning device in all three dimensions in order to obtain measurement data or scanned points about the body. Then, the scanned points are further processed and a digital representation is obtained modelling the body in a format suitable for storage and processing on a computer system. This digital representation can then be further used for digital manipulations like volume rendering to obtain an image of the scanned object for visualization on a display. The representation can also be further processed using CAD/CAM technology. The whole process of scanning a body and obtaining a digital representation is generally referred to as the 3D scanning pipeline. Some scanners that are available, for example intra-oral scanners used for the digitization of patient's dentition, can parallelize some steps in this pipeline obtaining a digital representation of the dentition. This allows an incremental scanning approach where basically the digital representation and thus also the visualization on the display is growing or extending while more data measurements are captured. Using this kind of scanners, the user of the scanner gets a visual image of the digitized body on his display while the scanning is still in process. The user thus doesn't have to wait for the scanner to complete first all the measurements before having a first digital representation. A significant limitation however of the scanning pipeline in this type of scanners is that they cannot incrementally increase the level of detail in the digital representation, i.e. the resolution of the surface they model cannot incrementally grow in areas where more measurements are being made.
One step that is common in the 3D scanning pipeline is the acquisition or scanning step where data about the body is captured or measured and all measurements are converted to scanned points in order to represent all measurements in a global coordinate system, i.e. irrespective of the different scanner positions that were for example used. This acquisition or capturing of data is typically done by a scanning device, i.e. the actual scanner. For the scanning itself, different scanning equipment exists such as Computed Tomography (CT) scanners (e.g. CBCT, conventional medical CT, μCT . . . ), optical scanners, mechanical i.e. tactile scanners, MRI scanners, ultrasound scanners and the like. Depending on the type of scanner all types of measurement data can be collected such as discrete distance measurements, surface geometry, colour and texture. Typically, the scanning process is done in several steps in time or in space where several scanned images comprising the measurement data are obtained from different viewpoints. Therefore, different sets of measurements can be defined in different coordinate systems, depending on the position of the scanner. This data is then further processed during the acquisition step to construct a digital point-cloud representation of the scanned body. In other words, all the sets of measurements that are defined in different coordinate systems are transformed to a single global coordinate system. This way, all measurement data of the body is represented in a single three dimensional coordinate system. The point cloud representation already inherently constitutes a method to visualize the measurements. It suffices to display all the points in their coordinate system on a display to have an impression of the scanned body. However, this point cloud representation is not always suited to provide the user with an easy to recognize and/or interpret digital, three-dimensional image of the body. The point cloud is generally not considered as a digital representation, but as an intermediate point to obtain one.
Therefore, in a second surface reconstruction step, the point cloud representation is typically converted into a digital surface representation for rendering on a display. The conversion step from a point cloud to a surface representation usually comprises a meshing operation during which the surface is reconstructed as a surface mesh based on the point cloud. One commonly used type of surface mesh is a triangular mesh in which the surface representation is made of different triangles.
In the prior art article from Curless and Levoy, A volumetric method for building complex models from range images (Proceeding SIGGRAPH '96 Proceedings of the 23rd annual conference on Computer graphics and interactive techniques), different surface reconstruction techniques are outlined that convert a point cloud into such a (triangular) surface mesh. They subdivide the surface reconstruction techniques mainly in two groups, non-volumetric and volumetric techniques. The non-volumetric techniques have the disadvantage that they are very time-consuming and do not always result in a correct surface mesh exhibiting intersecting or overlapping triangles. Moreover, these surface reconstruction techniques do not work well in case of noisy input data. Volumetric surface reconstruction techniques on the other hand, always result in correct surface meshes. One type of volumetric surface reconstruction techniques described uses the fitting of implicit functions for the generation of the surface mesh. This technique can work with different degrees of detail or thus resolution throughout the surface. However, it has the disadvantage that all processing steps starting from the point cloud must be completely redone when such a change in detail is desired or when new measurement data is acquired and added to the point cloud. This non-incremental approach limits their usability.
Another type of volumetric surface reconstruction techniques compatible with incremental scanning approaches is based on a grid approach. They typically make use of range images as measurement data, i.e. distance measurements on a regular sampling lattice, as input, which are captured incrementally. They also have the advantage that they are fast and that they can handle noisy input data. Their main disadvantage is that these cannot handle different levels of detail in different parts of the surface representation.